New Methods and Abstractions for RSA-Based Forward Secure Signatures
Susan Hohenberger and Brent Waters
Abstract
We put forward a new abstraction for achieving forward-secure
signatures that are (1) short, (2) have fast update and signing and (3) have
small private key size. Prior work that achieved these parameters was pioneered by
the pebbling techniques of Itkis and Reyzin (CRYPTO 2001) which showed a process for generating
a sequence of roots for a group element in
. However, the current state of the art has limitations.
First, while many works claim that Itkis-Reyzin pebbling can be applied, it is seldom
shown how this non-trivial step is concretely done. Second, setting up the pebbling data structure
takes time which makes key generation using this approach expensive. Third,
many past works require either random oracles and/or the Strong RSA assumption; we will work
in the standard model under the RSA assumption.
We introduce a new abstraction that we call an
RSA sequencer. Informally, the job of an RSA sequencer is to store
roots of a public key , so that at time period , it can provide
, where the value is an RSA exponent computed from a
certain function. This separation allows us to focus on building
a sequencer that efficiently stores such values, in a forward-secure manner and with
better setup times than other comparable solutions. Our sequencer abstraction
also has certain re-randomization properties that allow for constructing forward-secure signatures
with a single trusted setup that takes time and individual key generation takes time.
We demonstrate the utility of our abstraction by using it to provide concrete forward-secure signature schemes.
We first give a random-oracle construction that closely matches the performance
and structure of the Itkis-Reyzin scheme with the important exception that key generation is much faster (after the one-time setup). We then move on to designing a standard model scheme.
This abstraction and illustration of how to use it may be useful for other future works.
We include a detailed performance evaluation of our constructions, with an emphasis
on the time and space costs for large caps on the maximum number of time periods supported.
Our philosophy is that frequently updating forward secure keys should be part of ``best practices'' in key maintenance.
To make this practical, even for bounds as high as , we show that after an initial global setup, it takes only seconds to generate a key pair, and only milliseconds to update keys, sign messages and verify signatures. The space requirements for the public parameters and private keys are also a modest number of kilobytes, with signatures being a single element in and one smaller value.